﻿using Synthesize.BaseSet.Domain.Aggregation.ValueObject.Authority;
using System;
using System.Collections.Generic;
using System.Text;

namespace Synthesize.BaseSet.ServiceInterface.Dtos.Authority.Menu
{
    public class CreateMenuInput
    {
        public CreateMenuInput() {

            MenuPermissionList = new List<CreateMenuPermissionInput>();
        }
        
        /// <summary>
        /// 父节点唯一标识符
        /// </summary>
        public Guid? ParentId
        {
            get; set;
        }

        /// <summary>
        /// 显示名称
        /// </summary>
        public string Title
        {
            get; set;
        }

        /// <summary>
        /// 菜单类型 1 菜单 2iframe 3外连接 
        /// </summary>
        public MenuTypeEnum MenuType
        {
            get; set;
        }

        /// <summary>
        /// 颜色
        /// </summary>
        public string MenuColor
        {
            get; set;
        }

        /// <summary>
        /// 是否隐藏菜单
        /// </summary>
        public bool Hidden
        {
            get; set;
        }

        /// <summary>
        /// 是否隐藏面包屑
        /// </summary>
        public bool HiddenBreadcrumb
        {
            get; set;
        }

        /// <summary>
        /// 菜单图标
        /// </summary>
        public string Icon
        {
            get; set;
        }

        /// <summary>
        /// 别名
        /// </summary>
        public string Name
        {
            get; set;
        }

        /// <summary>
        /// 路由地址
        /// </summary>
        public string Path
        {
            get; set;
        }

        /// <summary>
        /// 重定向
        /// </summary>
        public string Redirect
        {
            get; set;
        }

        /// <summary>
        /// 菜单高亮
        /// </summary>
        public string Active
        {
            get; set;
        }

        /// <summary>
        /// 视图
        /// </summary>
        public string Component
        {
            get; set;
        }

        /// <summary>
        /// 排序
        /// </summary>
        public double Sort
        {
            get; set;
        }

        /// <summary>
        /// 平台 1管理端 2应用端 3移动端
        /// </summary>
        public MenuPlatformEnum Platform
        {
            get; set;
        }

        /// <summary>
        /// 是否整页路由
        /// </summary>
        public bool FullPage
        {
            get; set;
        }

        /// <summary>
        /// 是否停靠
        /// </summary>
        public bool Affix
        {
            get; set;
        }


        /// <summary>
        /// 菜单-权限关系信息
        /// </summary>
        public List<CreateMenuPermissionInput> MenuPermissionList
        {
            get; set;
        }

        

    }


    /// <summary>
    /// 创建菜单-权限关系信息
    /// </summary>
    public class CreateMenuPermissionInput
    {
        /// <summary>
        /// Id
        /// </summary>
        public Guid? Id
        {
            get; set;
        }

        /// <summary>
        /// 权限名称
        /// </summary>
        public string Name
        {
            get; set;
        }

        /// <summary>
        /// 权限码
        /// </summary>
        public string Code
        {
            get; set;
        }
    }
}
